#ifndef _CWEAPON_H_
#define _CWEAPON_H_

#include "CommonClass.h"

class CWeapon : public CSprite
{
public:
    CWeapon(const char* szName);
    virtual ~CWeapon();

    int GetDir() { return m_iDir; }
    void SetDir(int val) { m_iDir = val; }
    int GetHp() { return m_iHp; }
    void SetHp(int val) { m_iHp = val; }
    float GetSpeedX() { return m_fSpeedX; }
    void SetSpeedX(float val) { m_fSpeedX = val; }
    float GetSpeedY() { return m_fSpeedY; }
    void SetSpeedY(float val) { m_fSpeedY = val; }

     virtual void SetCurrentSpeedX(float speed) { m_fSpeedX = speed; }
    virtual void SetCurrentSpeedY(float speed) { m_fSpeedY = speed; }
    virtual float GetCurrentSpeedX() const { return m_fSpeedX; }
    virtual float GetCurrentSpeedY() const { return m_fSpeedY; }
    virtual bool IsDead() ;
    virtual void Init() = 0;
    virtual void OnMove(float fDeltaTime) = 0;
    virtual void OnSpriteColSprite(CWeapon* pSprite) = 0;
    virtual void OnSpriteColWorldLimit(int iColSide) = 0;

protected:
    int m_iDir;
    int m_iHp;
    float m_fSpeedX;
    float m_fSpeedY;
};

#endif // _CWEAPON_H
